package com.addplus.townmall.server.api.service.queue;

import com.addplus.townmall.server.api.modelenum.PlatformEnum;
import com.alibaba.fastjson.JSONObject;

import java.util.List;

/**
 * 类名: AsyncService
 *
 * @author zhangjiehang
 * @version V1.0
 * @date 2018/8/29 下午8:01
 * @description 类描述: 异步请求方法服务类
 */
public interface AsyncService {

    /**
     * 方法描述：发送对应验证码信息，注意对应Redis存储位置不一致
     *
     * @author zhangjiehang
     * @param code 验证码
     * @param phone 手机号码
     * @param platformEnum 平台(1:app 2:小程序 3:pc)
     * @param type (0:注册验证码 1:登录验证码 2:忘记密码 3：修改手机号验证码 4: 申请合伙)
     * @date 2018/9/20 下午4:36
     * @throws Exception
     */
    void sendAliYunMessage(PlatformEnum platformEnum, String phone, String code, Integer type) throws Exception;

    /**
      * 方法描述：批量发送对应短信通用方法
      *
      * @author zhangjiehang
      * @param memberIdList 用户主键id集合。阿里云限制长度最多100
      * @param templateCode 短信模板
      * @param jsonObject 短信模板变量集合"[{\"name\":\"Tom\", \"code\":\"123\"},{\"name\":\"Jack\", \"code\":\"456\"}]"
      * @return
      * @date 2018/9/20 下午8:18
      * @throws Exception
      */
    void batchAliYunMessage(List<Integer> memberIdList, String templateCode, List<JSONObject> jsonObject) throws Exception;

}
